package com.handyshop.mall.dubbo.commodity.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.handyshop.mall.dubbo.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

@ApiModel(value = "spu商品表")
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "nrs_product")
public class Product extends BaseEntity {
    /**
     * skuCode
     */
    @TableField(value = "sku_code")
    @ApiModelProperty(value = "skuCode")
    private String skuCode;

    /**
     * goods_id
     */
    @TableField(value = "goods_id")
    @ApiModelProperty(value = "goods_id")
    private Long goodsId;

    /**
     * 商品条形码(多个,隔开)
     */
    @TableField(value = "barcodes")
    @ApiModelProperty(value = "商品条形码(多个,隔开)")
    private String barcodes;

    /**
     * 1上架，2下架，0删除
     */
    @TableField(value = "`status`")
    @ApiModelProperty(value = "1上架，2下架，0删除")
    private Byte status;

    /**
     * 毛重
     */
    @TableField(value = "weight")
    @ApiModelProperty(value = "毛重")
    private String weight;

    /**
     * 净重
     */
    @TableField(value = "net_weight")
    @ApiModelProperty(value = "净重")
    private String netWeight;

    /**
     * 单位
     */
    @TableField(value = "unit")
    @ApiModelProperty(value = "单位")
    private String unit;

    /**
     * 商品规格型号
     */
    @TableField(value = "spec_model")
    @ApiModelProperty(value = "商品规格型号")
    private String specModel;

    /**
     * 销售价
     */
    @TableField(value = "price")
    @ApiModelProperty(value = "销售价")
    private BigDecimal price;

    /**
     * 市场价
     */
    @TableField(value = "market_price")
    @ApiModelProperty(value = "市场价")
    private BigDecimal marketPrice;

    /**
     * 是否默认
     */
    @TableField(value = "default_flag")
    @ApiModelProperty(value = "是否默认")
    private Boolean defaultFlag;

    /**
     * 商品标题
     */
    @TableField(value = "title")
    @ApiModelProperty(value = "商品标题")
    private String title;

    /**
     * sku图片首图Url
     */
    @TableField(value = "main_url")
    @ApiModelProperty(value = "sku图片首图Url")
    private String mainUrl;

    /**
     * 货号
     */
    @TableField(value = "product_code")
    @ApiModelProperty(value = "货号")
    private String productCode;

    /**
     * 上架时间
     */
    @TableField(value = "up_time")
    @ApiModelProperty(value = "上架时间")
    private Date upTime;

    /**
     * 下架时间
     */
    @TableField(value = "down_time")
    @ApiModelProperty(value = "下架时间")
    private Date downTime;

    /**
     * 起订量
     */
    @TableField(value = "min_buy")
    @ApiModelProperty(value = "起订量")
    private Integer minBuy;

    /**
     * 倍数(步长)
     */
    @TableField(value = "step_size")
    @ApiModelProperty(value = "倍数(步长)")
    private Integer stepSize;

    /**
     * 面值(礼品卡)
     */
    @TableField(value = "face_value")
    @ApiModelProperty(value = "面值(礼品卡)")
    private BigDecimal faceValue;

    /**
     * 关联货品id(提货卡)
     */
    @TableField(value = "relevance_id")
    @ApiModelProperty(value = "关联货品id(提货卡)")
    private Long relevanceId;

    public static final String COL_ID = "id";

    public static final String COL_SKU_CODE = "sku_code";

    public static final String COL_GOODS_ID = "goods_id";

    public static final String COL_BARCODES = "barcodes";

    public static final String COL_STATUS = "status";

    public static final String COL_WEIGHT = "weight";

    public static final String COL_NET_WEIGHT = "net_weight";

    public static final String COL_UNIT = "unit";

    public static final String COL_SPEC_MODEL = "spec_model";

    public static final String COL_PRICE = "price";

    public static final String COL_MARKET_PRICE = "market_price";

    public static final String COL_DEFAULT_FLAG = "default_flag";

    public static final String COL_TITLE = "title";

    public static final String COL_MAIN_URL = "main_url";

    public static final String COL_PRODUCT_CODE = "product_code";

    public static final String COL_UP_TIME = "up_time";

    public static final String COL_DOWN_TIME = "down_time";

    public static final String COL_MIN_BUY = "min_buy";

    public static final String COL_STEP_SIZE = "step_size";

    public static final String COL_FACE_VALUE = "face_value";

    public static final String COL_RELEVANCE_ID = "relevance_id";

    public static final String COL_DELETE_FLAG = "delete_flag";

    public static final String COL_CREATOR_ID = "creator_id";

    public static final String COL_CREATOR = "creator";

    public static final String COL_CREATE_TIME = "create_time";

    public static final String COL_MODIFY_TIME = "modify_time";
}